/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	BMscbCancelOrder.java
 * 模块说明：	
 * 修改历史：
 * Oct 30, 2007 - lxm - 创建。
 */
package com.hd123.rumba.mscb.order.biz;

import java.util.Date;

import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.mscb.order.IMscbCancelOrder;
import com.hd123.rumba.mscb.subscriber.Subscriber;
import com.hd123.rumba.runtime.IPersistent;
import com.hd123.rumba.runtime.biz.BBaseEntity;

/**
 * 消息取消订阅单 | 业务层.维护 | 实体
 * 
 * @author lxm
 * 
 */
public class BMscbCancelOrder extends BBaseEntity {

  private SMscbOrder cancelledOrder;
  private Subscriber subscriber;
  private Date cancelTime;

  public void readFrom(IPersistent source) throws BusinessException {
    super.readFrom(source);
    if (source instanceof IMscbCancelOrder) {
      this.cancelledOrder = (SMscbOrder) this.readObject(((IMscbCancelOrder) source)
          .getCancelledOrder(), SMscbOrder.class);
      this.subscriber = ((IMscbCancelOrder) source).getSubscriber();
      this.cancelTime = ((IMscbCancelOrder) source).getCancelTime();
    }
  }

  /** 被取消的消息订阅单。 */
  public SMscbOrder getCancelledOrder() {
    return cancelledOrder;
  }

  public void setCancelledOrder(SMscbOrder cancelledOrder) {
    this.cancelledOrder = cancelledOrder;
  }

  /** 订阅者。只存在用户一种可能性。 */
  public Subscriber getSubscriber() {
    return subscriber.clone();
  }

  public void setSubscriber(Subscriber subscriber) {
    this.subscriber = subscriber.clone();
  }

  /** 取消时间。 */
  public Date getCancelTime() {
    return cancelTime;
  }

  public void setCancelTime(Date cancelTime) {
    this.cancelTime = cancelTime;
  }

}
